package com.i2works.smartluolong.web.service.company;

import com.alibaba.fastjson.JSONObject;
import com.i2works.smartluolong.utils.basecommon.BaseCommonService;
import com.i2works.smartluolong.utils.exception.ServiceException;
import com.i2works.smartluolong.web.entity.company.CompanyChangeDO;
import com.i2works.smartluolong.web.entity.company.CompanyChangeQuery;

import java.util.List;

/**
 * 工商变更、备案 - 业务层接口
 *
 * @author Liu Yutao <koal@vip.qq.com>
 * @date 2018/3/14 16:36
 */


public interface ICompanyChangeService extends BaseCommonService<CompanyChangeQuery,CompanyChangeDO> {

    /**
     * 获取审核人员可管理的申请列表
     */
    List<CompanyChangeDO> queryListByAuditor(CompanyChangeQuery query) throws ServiceException;

    /**
     * 获取审核人员可管理的申请列表统计
     */
    Integer queryCountByAuditor(CompanyChangeQuery query) throws ServiceException;

    /**
     * 更新业务状态
     *
     * @param companyChangeDO 申请实体
     * @param auditorId      审核人员ID
     * @param isClaim        是否认领状态
     */
    void updateChangeStatus(CompanyChangeDO companyChangeDO, Integer auditorId,Boolean isClaim) throws ServiceException;

    /**
     * 查询报表列表
     */
    List<JSONObject> queryReportList(CompanyChangeQuery query) throws ServiceException;
}
